import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
//        System.out.println("请输入一个十进制数：");
//        while(in.hasNextInt()){
//            int n = in.nextInt();
//            System.out.println(func(n));
//            System.out.println("请输入一个十进制数：");
//        }

//        System.out.println("请输入一个二进制数 并选择进制：");
//        while(in.hasNextInt()){
//            int n = in.nextInt();
//            int radix = in.nextInt();
//            System.out.println(func2(n,radix));
//            System.out.println("请输入一个二进制数 并选择进制：");
//        }

        System.out.println("请输入一个二进制数 并选择进制：");
        while(in.hasNextInt()){
            int n = in.nextInt();
            int radix = in.nextInt();
            System.out.println(func3(n,radix));
            System.out.println("请输入一个二进制数 并选择进制：");
        }
    }
    static int func(int n){ //十进制转二进制
        int i = 1;
        int result = 0;
        while(n>0){
            result += (n%2)*i ;
            n /= 2;
            i *= 10;
        }
        return result;
    }

    static int func2(int n , int radix){  //二进制转10以内任意进制

        //先将视觉二进制转成实质10进制（先计算出该二进制数的值）
        int x = n;
        int i = 1;
        int result1 = 0;
        while(x>0){
            result1 += (x%10)*i;
            x /= 10;
            i *= 2;
        }

        //再转换成视觉radix进制
        i = 1 ;
        int result2 = 0;
        while(result1>0){
            result2 += (result1%radix)*i ;
            result1 /= radix;
            i *= 10;
        }
        return result2 ;
    }

    static int recurseFromTwoToTen(int n ,int i ){ //输入一个视觉二进制数，用递归方式转成十进制数
        if(n==0){                        //i固定输入1。
            return 0;
        }
        return ( ( n % 10 ) * i ) + recurseFromTwoToTen(n/10,2*i);
    }

    static int recurseFromTenToRadix(int n , int radix , int i ){//输入一个十进制数，用递归方式转成视觉radix进制数
        if(n==0){                                        //i固定输入1。
            return 0;
        }
        return ( ( n % radix ) * i ) + recurseFromTenToRadix(n/radix,radix,10*i);
    }

    static int func3(int n, int radix){ //二进制 → 任意进制
        int m = recurseFromTwoToTen(n,1);
        return recurseFromTenToRadix(m,radix,1);
    }
}

